Code
import pandas as pd
import plotly.express as pxThis report analyzes global DTP vaccination rates using UNICEF data.
This report is prepared by Walliya Fatima Hassan (Student ID: 110024) for the MSc Management (Strategy) program.
import pandas as pd
import plotly.express as pxunicef = pd.read_csv("Unicef.csv")dtp_data = unicef[unicef['indicator'].str.contains('DTP', case=False, na=False)]
dtp_latest = (
dtp_data.sort_values('time_period', ascending=False)
.drop_duplicates(subset='country')
)[['country', 'obs_value']].rename(columns={'obs_value': 'DTP_Coverage'})fig_map = px.choropleth(
dtp_latest,
locations="country",
locationmode="country names",
color="DTP_Coverage",
color_continuous_scale="Tealgrn",
title="DTP Vaccination Coverage (%)"
)
fig_mapGlobal DTP Vaccination Coverage Map
top10 = dtp_latest.nlargest(10, 'DTP_Coverage')
fig_bar = px.bar(
top10,
x='DTP_Coverage',
y='country',
orientation='h',
color='DTP_Coverage',
color_continuous_scale='Blues',
title="Top 10 DTP Coverage Countries"
)
fig_barTop 10 Countries by DTP Coverage
sample_countries = ['India', 'Nigeria', 'Brazil', 'United States of America', 'South Africa']
dtp_sample = dtp_data[dtp_data['country'].isin(sample_countries)]
fig_line = px.line(
dtp_sample,
x='time_period',
y='obs_value',
color='country',
markers=True,
title="DTP Vaccination Trend Over Time"
)
fig_lineDTP Vaccination Trends Over Time
gni_data = unicef[unicef['indicator'].str.contains('GNI', case=False, na=False)]
gni_latest = (
gni_data.sort_values('time_period', ascending=False)
.drop_duplicates(subset='country')
)[['country','obs_value']].rename(columns={'obs_value': 'GNI_per_capita'})
merged = pd.merge(dtp_latest, gni_latest, on='country', how='inner')
fig_scatter = px.scatter(
merged,
x='GNI_per_capita',
y='DTP_Coverage',
trendline='ols',
title="GNI per Capita vs DTP Vaccination Coverage"
)
fig_scatterScatter Plot: GNI vs DTP Coverage